#include<stdio.h>
#include<stdlib.h>
typedef struct stu
{
    long long fz;
    long long fm;
}s;
s *two_h(s *a,s *b)     //两两求和
{
    s *p;
  	p=(s*)malloc(sizeof(s));
    p->fm=a->fm*b->fm;
    p->fz=a->fz*b->fm+b->fz*a->fm;
    return p;
}
void f(s *p)            //最简约分
{
    long long a,b,r,temp;
    a=p->fz;b=p->fm;
	if(a==0)            //如果两个数的分子和为0，那么就不能求其最大公约数，所以加return返回
	{
		return;
	}
    if(a<b)                     //求最大公约数
    {temp=a;a=b;b=temp;}
    r=1;
    while(r!=0)
    {
        r=a%b;
        a=b;
        b=r;
    }
	if(a<0)         //保证负号在分子上
		a=-a;
    p->fz/=a;p->fm/=a;
}
int main()
{
    int n,i;
    char c;
    s *p,*t;
    scanf("%d",&n);
    p=(s*)malloc(n*sizeof(s));
    scanf("%lld%c%lld",&p->fz,&c,&p->fm);
    t=p;
    p++;
    for(i=1;i<n;i++)
    {
        scanf("%lld%c%lld",&p->fz,&c,&p->fm);
        t=two_h(t,p);
        f(t);
        p++;
    }
		if(t->fz==0)            //if-else if-else
			printf("0");
		else if(t->fz/t->fm==0)
    {
        printf("%lld/%lld",t->fz,t->fm);
    }
		else
    {
		if(t->fz%t->fm==0)
			printf("%lld",t->fz/t->fm);
		else
		{
			printf("%lld ",t->fz/t->fm);
			printf("%lld/%lld",t->fz-(t->fz/t->fm)*t->fm,t->fm);
		}
    }
    return 0;
}